$x= $_POST['a1'] klappt nicht bei file
Hallo,
ich wollte eine Datei Hochladen.
Dazu habe ich das Formular:
<form enctype="multipart/form-data" method='post' action='senden.php'>
Betreff: <input type="text" name="a1" size="50">
<br>
Datei: <input type="file" name="a2" size="50">
<br><br>
<input type='submit' value='Daten senden'>
</p>
</form>
Aber in senden.php ...
<?php
$x= $_POST['a1'];
echo ' a1= '.$x.' |';
$x= $_POST['a2'];
echo ' a2= '.$x.' |';
?>
.... wird a1 korekt ausgegeben, aber folgenden Meldung
macht alles weiter unmöglich:
Undefined index: a2
Was mache ich falsch?
MFG Joachim
--
Joachim Mohr Tübingen
http://www.joachimmohr.de Dort auch Programmen und Lektionen zu
Delphi, Mathematik und Musik (mitteltönig).
Re: $x= $_POST['a1'] klappt nicht bei file
Joachim Mohr meinte:
> Hallo,
>
> ich wollte eine Datei Hochladen.
> Dazu habe ich das Formular:
>
> <form enctype="multipart/form-data" method='post' action='senden.php'>
> Betreff: <input type="text" name="a1" size="50">
> <br>
> Datei: <input type="file" name="a2" size="50">
> <br><br>
> <input type='submit' value='Daten senden'>
> </p>
> </form>
>
> Aber in senden.php ...
>
> <?php
> $x= $_POST['a1'];
> echo ' a1= '.$x.' |';
> $x= $_POST['a2'];
> echo ' a2= '.$x.' |';
> ?>
>
> ... wird a1 korekt ausgegeben, aber folgenden Meldung
> macht alles weiter unmöglich:
>
> Undefined index: a2
>
>
> Was mache ich falsch?
11.11. Wie funktioniert ein Datei-Upload über HTML-Formulare?
http://www.php-faq.de/q/q-formular-upload-php4.html
Gregor
--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum
Re: $x= $_POST['a1'] klappt nicht bei file
Gregor Kofler schrieb:
> 11.11. Wie funktioniert ein Datei-Upload über HTML-Formulare?
>
> http://www.php-faq.de/q/q-formular-upload-php4.html
Danke! Damit klappts!
Ich hatte eine andere Vorlage (mit copy, wohl veraltet)
falsch verstanden.
MFG Joachim
--
Joachim Mohr Tübingen
http://www.joachimmohr.de Dort auch Programmen und Lektionen zu
Delphi, Mathematik und Musik (mitteltönig).
Re: $x= $_POST['a1'] klappt nicht bei file
Joachim Mohr wrote:
> Gregor Kofler schrieb:
>> 11.11. Wie funktioniert ein Datei-Upload über HTML-Formulare?
>> http://www.php-faq.de/q/q-formular-upload-php4.html
> Danke! Damit klappts!
> Ich hatte eine andere Vorlage (mit copy, wohl veraltet)
> falsch verstanden.
Also, zumindest ab PHP4 ging das AFAIK noch nie. Somit war die Vorlage
wohl eher fehlerhaft als veraltet.
Allerdings solltest du den Ausdruck noch verbessern. Grade bei einem
Dateiupload solltest du eine vernünftige Eingabevalidierung machen. Hie=
r
findest du einen schönen Artikel dazu:
http://www.scanit.be/uploads/php-file-upload.pdf
Grüße,
Alex
Re: $x= $_POST['a1'] klappt nicht bei file
"Joachim Mohr" <jomolero [at] web.de> schrieb im Newsbeitrag
news:f8fvlo$cfa$01$1 [at] news.t-online.com...
> Hallo,
>
> ich wollte eine Datei Hochladen.
> Dazu habe ich das Formular:
>
> <form enctype="multipart/form-data" method='post' action='senden.php'>
> Betreff: <input type="text" name="a1" size="50">
> <br>
> Datei: <input type="file" name="a2" size="50">
> <br><br>
> <input type='submit' value='Daten senden'>
> </p>
> </form>
>
> Was mache ich falsch?
[x] Du möchtest MAX_FILE_SIZE nutzen, um eine maximale Dateigröße anzugeben.
[x] Du möchtest das Superglobal $_FILES benutzen, also $_FILES['a1']
[x] Du möchtest Größe, MIME-Type und mögliche Fehler mittels
$_FILES['a1']['error'] verarbeiten.
[x] Du möchtest move_uploaded_file() nutzen.
[x] Du möchest das Manual zum Thema Datei-Uploads lesen:
http://de2.php.net/manual/de/features.file-upload.php
[x] Du möchtest prüfen, ob die wechselnde Nuzung von einfachen und doppelten
Anführungszeichen mit dem von Dir verwendeten Doctype kompatibel ist.
Gruß
Klaus
Re: $x= $_POST['a1'] klappt nicht bei file
Klaus Holsten schrieb:
> [x] Du möchtest MAX_FILE_SIZE nutzen, um eine maximale Dateigröße anzugeben.
> [x] Du möchtest das Superglobal $_FILES benutzen, also $_FILES['a1']
> [x] Du möchtest Größe, MIME-Type und mögliche Fehler mittels
> $_FILES['a1']['error'] verarbeiten.
> [x] Du möchtest move_uploaded_file() nutzen.
> [x] Du möchest das Manual zum Thema Datei-Uploads lesen:
> http://de2.php.net/manual/de/features.file-upload.php
> [x] Du möchtest prüfen, ob die wechselnde Nuzung von einfachen und doppelten
> Anführungszeichen mit dem von Dir verwendeten Doctype kompatibel ist.
Du hast mich durchschaut: Ich programmiere nur ganz selten in PHP,
diesmal nur, um ein Bild von einem Freund zu bekommen, der dies mit
seinem Emailprogramm nicht hinbekommt ... Na ja, eigentlich hab ichs
doch aus Freude am Ausprobieren gemacht.
Klar, dass dieses Upload nicht jedermann nutzen kann.
(Hab kürzlich erst die Erfahrung gemacht, dass mein
(öffentliches) Kontaktformular mit 100 von Spamadressen [http://....]
von Polen aus gefüttert wurde. Da muß man sich wohl was
einfallen lassen. ("http:" im text nicht akzeptieren?)
Danke für die Hinweise:
Einen Punkt habe ich noch nicht kapiert:
> [ ] Du möchtest prüfen, ob die wechselnde Nuzung von einfachen
>und doppelten Anführungszeichen mit dem von Dir
> verwendeten Doctype kompatibel ist.
Ist das wichtig?
MFG Joachim
--
Joachim Mohr Tübingen
http://www.joachimmohr.de Dort auch Programmen und Lektionen zu
Delphi, Mathematik und Musik (mitteltönig).
Re: $x= $_POST['a1'] klappt nicht bei file
Klaus Holsten schrieb:
> "Joachim Mohr" <jomolero [at] web.de> schrieb im Newsbeitrag
> news:f8fvlo$cfa$01$1 [at] news.t-online.com...
Bitte keine Einleitungsromane.
> [x] Du möchtest prüfen, ob die wechselnde Nuzung von einfachen und doppelten
> Anführungszeichen mit dem von Dir verwendeten Doctype kompatibel ist.
Welcher Doctype verbietet denn welche Art von Anführungszeichen? Nach
meinen Informationen sind _generell_ beide Formen erlaubt. Zumindest
konnte ich in SelfHTML nichts Gegenteiliges finden.
Gruß. Claus
Re: $x= $_POST['a1'] klappt nicht bei file
"Claus Reibenstein" <4spammersonly [at] web.de> schrieb im Newsbeitrag
news:5h3seqF3itukkU2 [at] mid.individual.net...
>
>> [x] Du möchtest prüfen, ob die wechselnde Nuzung von einfachen und
>> doppelten
>> Anführungszeichen mit dem von Dir verwendeten Doctype kompatibel ist.
>
> Welcher Doctype verbietet denn welche Art von Anführungszeichen? Nach
> meinen Informationen sind _generell_ beide Formen erlaubt. Zumindest
> konnte ich in SelfHTML nichts Gegenteiliges finden.
War nicht in XHTML 1.1. das doppelte Anführungszeichen Pflicht? Anderfalls
ist es in jedem Fall schlechter Stil und fehleranfällig.
Gruß
Klaus
Re: $x= $_POST['a1'] klappt nicht bei file
Klaus Holsten wrote:
> War nicht in XHTML 1.1. das doppelte Anführungszeichen Pflicht?
Darauf finde ich keine Hinweise. Wär mir auch neu. Wenn Du eine dazu URL
hast, OK. Ansonsten gehe lieber nicht davon aus. SGML als Grundlage von
alledem ist da unbestimmt.
> ist es in jedem Fall schlechter Stil und fehleranfällig.
Schlechter Stil resultiert aus vorgegebenen Coding-Guidelines die
eindeutig aussagen das dies der Fall ist. URL bitte.
MfG, Ulf
Re: $x= $_POST['a1'] klappt nicht bei file
..oO(Klaus Holsten)
>War nicht in XHTML 1.1. das doppelte Anführungszeichen Pflicht?
Sowohl in SGML als auch XML sind sowohl einfache als auch doppelte
Anführungszeichen erlaubt.
>Anderfalls
>ist es in jedem Fall schlechter Stil und fehleranfällig.
Unsinn.
Micha
Re: $x= $_POST['a1'] klappt nicht bei file
Am Mon, 30 Jul 2007 15:21:45 +0200 schrieb Michael Fesser:
>>Anderfalls
>>ist es in jedem Fall schlechter Stil und fehleranfällig.
>
> Unsinn.
Würde ich nicht sagen... Stelle Dir einfach mal jemanden Vor der nach 5
Zeichen schon nicht mehr weiß was er eben noch geschrieben hat oder einfach
nur im Schreibfluss wegen Inkonsequenter Nutzung von Single und
Doublequotes folgendes zustande bringt:
Klick mich
Und bei mir kommt dazu daß ich neben HTML auch noch Interesse und Freizeit
in PHP, C++ und LaTeX setze, und hier also sowieso schon immer am Überlegen
bin, welche Quotes gerade an der Stelle genau das bewirken was ich will. Da
lege ich mich also für HTML schon rein aus gewohntheit auf eine
Standardvariante fest.
Ganz davon ab ist inkonsistenz immer schlechter Stil.
MfG
Norbert
Re: $x= $_POST['a1'] klappt nicht bei file
..oO(Norbert Melzer)
>Am Mon, 30 Jul 2007 15:21:45 +0200 schrieb Michael Fesser:
>
>>>Anderfalls
>>>ist es in jedem Fall schlechter Stil und fehleranfällig.
>>
>> Unsinn.
>
>Würde ich nicht sagen... Stelle Dir einfach mal jemanden Vor der nach 5
>Zeichen schon nicht mehr weiß was er eben noch geschrieben hat oder einfach
>nur im Schreibfluss wegen Inkonsequenter Nutzung von Single und
>Doublequotes folgendes zustande bringt:
>
>Klick mich
Wer sowas auf seiner Website zustande bringt, ist entweder völlig blind
oder nutzt untaugliche Werkzeuge:
* Es gibt Editoren/IDEs mit eingebauter Syntaxprüfung.
* Bei etwas mehr Editor-Intelligenz reicht u.U. bereits das Syntax-
highlighting, um solche Patzer zu erkennen.
* Spätestens der W3C-Validator beschwert sich.
* Wird obiges per PHP als String ausgegeben, dann stolpert bereits der
Parser.
>Und bei mir kommt dazu daß ich neben HTML auch noch Interesse und Freizeit
>in PHP, C++ und LaTeX setze, und hier also sowieso schon immer am Überlegen
>bin, welche Quotes gerade an der Stelle genau das bewirken was ich will. Da
>lege ich mich also für HTML schon rein aus gewohntheit auf eine
>Standardvariante fest.
Akzeptiert.
>Ganz davon ab ist inkonsistenz immer schlechter Stil.
Nun, ich finde es noch weitaus fürchterlicheren Stil, beharrlich an
bestimmten Anführungszeichen festzuhalten und dann sowas zu verbrechen:
print "<a href=\"http://example.com\">foo</a>";
Oder gar
$url = "http://example.com";
print "<a href=\"".$url."\">foo</a>";
Micha
Re: $x= $_POST['a1'] klappt nicht bei file
Am Mon, 30 Jul 2007 17:22:42 +0200 schrieb Michael Fesser:
> .oO(Norbert Melzer)
>
>>Klick mich
>
> Wer sowas auf seiner Website zustande bringt, ist entweder völlig blind
> oder nutzt untaugliche Werkzeuge:
>
> * Es gibt Editoren/IDEs mit eingebauter Syntaxprüfung.
Nicht jeder nutzt sie *leider*
> * Bei etwas mehr Editor-Intelligenz reicht u.U. bereits das Syntax-
> highlighting, um solche Patzer zu erkennen.
s.o.
> * Spätestens der W3C-Validator beschwert sich.
Ich denke wir lesen hier beide lang genug mit um zu wissen daß auch der
leider viel zu häufig nicht genutzt wird...
> * Wird obiges per PHP als String ausgegeben, dann stolpert bereits der
> Parser.
Siehste, da stolpert doch schon mal was, ist das etwa kein Fehler? Und
gerade um die Fehleranfälligkeit ging es dabei.
>>Und bei mir kommt dazu daß ich neben HTML auch noch Interesse und Freizeit
>>in PHP, C++ und LaTeX setze, und hier also sowieso schon immer am Überlegen
^^^^^^^
>>bin, welche Quotes gerade an der Stelle genau das bewirken was ich will. Da
>>lege ich mich also für HTML schon rein aus gewohntheit auf eine
>>Standardvariante fest.
>
> Akzeptiert.
>
>>Ganz davon ab ist inkonsistenz immer schlechter Stil.
>
> Nun, ich finde es noch weitaus fürchterlicheren Stil, beharrlich an
> bestimmten Anführungszeichen festzuhalten und dann sowas zu verbrechen:
>
> print "<a href=\"http://example.com\">foo</a>";
>
> Oder gar
>
> $url = "http://example.com";
> print "<a href=\"".$url."\">foo</a>";
Muss ich Dir recht geben, so etwas liest man leider viel zu häufig in
Fremdcode, aber in meiner eigenen Aussage habe ich das wichtige mal das
wichtige unterstrichen. Ich gehöre da dann eher zu den Leuten die sowieso
lieber die Singles verwenden und bei Nutzung von $var_uae auf Doubles
zurückgreifen, oder eben wenn mal ausnahmsweise ein Singlequote im String
vorkommt. Zumindest bei PHP.
Und bei C++ musste ich gerade gestern wieder feststellen, daß ich die
letzte Zeit zu viel mit PHP gemacht habe, ein cout << "Hallo $name"; führte
seltsamerweise nicht zum gewünschten Ziel :-)
MfG
Norbert